perm filename BIGNUM.BUG[LSP,LSP] blob sn#143165 filedate 1975-02-01 generic text, type T, neo UTF8
WHIT:  There have been several bugs corrected in BIGNUM.MAC,
and these corrections should be sent to the world.  In particular,
Carl Engleman at MITRE  Corp. notified me of one such bug which I
have corrected.  (TIMES 1111111111111 0)=000000000.   
The changes have been on lines 54800, 54900, 42000, and 45400.
					PDQ.

14-APR-71  1700		1,PDQ

THERE IS A BUG IN BIGNUM:
(PLUS -1 50000000000000000000000.) GIVES 5000...0001,
IE THE FIRST ARG IS MADE POSITIVE.  THE CURE IS TO CHANGE ACCUM 
T TO TT IN LINES 54800 AND 54900 OF BIGNUM.MAC.

THERE IS A MINOR GLITCH IN LISP, SUCH THAT WHEN YOU GET A
FLOATING UNDERFLOW AND THEN PRINT OUT A FLOATING POINT NUMBER
(WITH A LEADING  0.XXXXX) THE OUTPUT IS   P.XXXXX .

THE PROBLEM ARISES BECAUSE APRINI DOESN'T CLEAR THE
UNDEFLOW FLAG, WHICH A PUSHJ IN TURN PUTS ON THE STACK.
WITHIN THE%PRINT ROUTINE, AT FP7, A LEADING 0 WRONGLY JUMPS TO
FPYA1 (POKING THE PDL, WHICH IS 0 ONLY IF NO UNDERFLOW).

SOLUTION = CHANGE FP7 TO JUMPE A,FP7B .

CURTESY OF KEVIN KAY.D26